package controladores;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;
import javax.swing.DefaultListModel;
import negocio.Paciente;
import negocio.Sistema;
import ventanas.VentanaABMPaciente;
import ventanas.VentanaBusquedaPacientes;

public class ControladorBusquedaPacientes implements ActionListener, MouseListener{

	private VentanaBusquedaPacientes v;
	private Sistema s;
	
	public ControladorBusquedaPacientes(VentanaBusquedaPacientes ventana){
		this.v = ventana;
		this.s = Sistema.obtenerInstancia();
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource()==v.getBtnBuscarPaciente()){
			List<Paciente> pacientes = s.buscarPacientes(v.getTxtBuscarPaciente().getText());
			DefaultListModel<Paciente> modelo = new DefaultListModel<>();
			
			for(Paciente p:pacientes){
				modelo.addElement(p);
			}
			v.getLista().setModel(modelo);
		}

		if(e.getSource()==v.getBtnC()){
			v.getTxtBuscarPaciente().setText("");
			v.getLista().setModel(new DefaultListModel<Paciente>());
		}
		
		if(e.getSource()==v.getBtnNuevoPaciente()){
			VentanaABMPaciente vent = new VentanaABMPaciente(null);
			vent.getChkModificarPaciente().setVisible(false);
			vent.deshabilitarCamposObrasSociales();
			vent.getBtnBajaPaciente().setEnabled(false);
		}
		
	}

	@Override
	public void mouseClicked(MouseEvent e) {
		
		if(v.getLista().getModel().getSize()>0){
			if(e.getClickCount()==2){
				Paciente p = v.getLista().getSelectedValue();
				VentanaABMPaciente vent = new VentanaABMPaciente(p);
				vent.deshabilitarCamposObrasSociales();
			}
		}
		
	}

	@Override
	public void mousePressed(MouseEvent e) {}

	@Override
	public void mouseReleased(MouseEvent e) {}

	@Override
	public void mouseEntered(MouseEvent e) {}

	@Override
	public void mouseExited(MouseEvent e) {}

}
